From: rps92@ecs.soton.ac.uk (Richard Swann)
Newsgroups: comp.sys.sinclair
Subject: Re: Pc--->+D
Date: 11 Mar 1994 10:19:04 -0000

In <2loag3$qgd@gabriel.keele.ac.uk> u3g12@cc.keele.ac.uk (Muhhk) writes:

>Is there a PC to +D snapshot copier somewhere? I have found plenty that does
>it the other way around, but none to the Speccy.

I've got a program which will let a speccy read in .sna files of a PC disk using
a +D

>From there you just snap the games onto a +D disk as normal

The BASIC listing for this program should be somewhere in ftp.nvg.unit.no,
if not, I've put it here

  10 REM PC .SNA READER         
  20 DIM a(112): LET b=1        
  30 PRINT #0;"Insert PC Disc and press a key": PAUSE 0: CLS
  40 LOAD @1,0,8,32768: LOAD @1,0,9,33280: LOAD @1,128,1,33792:
     LOAD @1,128,2,34304: LOAD @1,128,3,34816: LOAD @1,128,4,36114: 
     LOAD @1,128,5,36626
  50 FOR n=1 TO 112             
  60 LET pointer=32768+(n*16)-16
  70 IF PEEK (pointer)=0 OR PEEK (pointer)=229 THEN NEXT n:
     GO TO 100 
  80 IF PEEK (pointer+8)<>83 AND PEEK (pointer+9)<>78 AND PEEK 
     (pointer+10)<>65 THEN NEXT n: GO TO 100
  90 PRINT b;"=";: FOR m=0 TO 7:PRINT CHR$ (PEEK (pointer+m));:
     NEXT m: PRINT : LET a(b)=PEEK (pointer+27)*256+PEEK (pointer+26):
     LET b=b+1: NEXT n
 100 INPUT "Select : ";x        
 110 IF x<1 OR x>b THEN GO TO 100
 120 LET t=0: FOR n=16384 TO 16721
 130 READ a: POKE n,a: LET t=t+a: NEXT n
 140 IF t<>39419 THEN PRINT "data error": STOP
 150 RANDOMIZE a(x): RANDOMIZE USR 16384
 160 DATA 195,150,64,207,68,201 
 170 DATA 229,221,33,0,128,17,2 
 180 DATA 0,62,1,207,68,221,33  
 190 DATA 0,130,17,3,0,62,1,207 
 200 DATA 68,221,33,0,132,17,4,0
 210 DATA 62,1,207,68,221,33,82 
 220 DATA 65,225,6,49,221,117,0 
 230 DATA 221,116,1,221,35,221  
 240 DATA 35,205,67,64,124,230  
 250 DATA 15,103,16,237,201,221 
 260 DATA 229,221,33,0,128,203  
 270 DATA 60,203,29,245,221,35  
 280 DATA 221,35,221,35,43,124  
 290 DATA 181,32,245,241,56,12  
 300 DATA 221,102,1,124,230,15  
 310 DATA 103,221,110,0,24,43   
 320 DATA 221,102,2,124,203,63  
 330 DATA 203,63,203,63,203,63  
 340 DATA 103,221,126,2,203,39  
 350 DATA 203,39,203,39,203,39  
 360 DATA 245,221,110,1,125,230 
 370 DATA 240,203,63,203,63,203 
 380 DATA 63,203,63,111,241,133 
 390 DATA 111,221,225,201,42,118
 400 DATA 92,205,6,64,221,33,201
 410 DATA 65,33,82,65,205,185,64
 420 DATA 49,0,67,221,33,229,67 
 430 DATA 6,48,33,84,65,205,185 
 440 DATA 64,16,251,24,96,94,35 
 450 DATA 86,35,229,27,27,203,35
 460 DATA 203,18,33,15,0,25,14,0
 470 DATA 17,18,0,167,237,82,56 
 480 DATA 3,12,24,248,125,254   
 490 DATA 0,40,2,198,18,254,10  
 500 DATA 56,9,214,9,111,121,203
 510 DATA 255,103,24,2,111,97   
 520 DATA 235,221,229,213,62,1  
 530 DATA 205,3,64,209,28,123   
 540 DATA 254,10,32,9,214,9,20  
 550 DATA 95,122,238,128,87,21  
 560 DATA 221,225,221,36,221,36 
 570 DATA 221,229,62,1,205,3,64 
 580 DATA 221,225,221,36,221,36 
 590 DATA 225,201,243,58,227,65 
 600 DATA 211,254,58,226,65,254 
 610 DATA 1,32,4,237,86,24,10   
 620 DATA 254,2,32,4,237,94,24  
 630 DATA 2,237,70,49,200,65    
 640 DATA 241,237,71,225,209,193
 650 DATA 241,217,8,225,209,193 
 660 DATA 253,225,221,225,241   
 670 DATA 237,79,241,237,123,224
 680 DATA 65,251,237,69         


